home *** CD-ROM | disk | FTP | other *** search
- F********************************************************************
- F* *
- F* PGMID - DDS01RPF04 *
- F* *
- F* FUNCTION - GENERATE KEY FIELD LEVEL PHYSICAL FILE DDS *
- F* *
- F* AUTHOR - TERRENCE W. MOYER *
- F* 55 KEPPEL AVE. *
- F* WEST LAWN, PA. 19609 *
- F* *
- F* DATE - NOV. 3, 1986 *
- F* *
- F* INDICATORS - 10 GENERAL PURPOSE, REUSABLE. *
- F* *
- F* NOTES - *
- F* SUPPORTED KEYWORDS *
- F* DESCEND, ZONE/DIGIT, ABSVAL/UNSIGNED *
- F* SIGNED (BY DEFAULT). *
- F* *
- F********************************************************************
- FQAFDACCPIF E DISK UC
- FSRCFIL O F 92 DISK A UC
- E WRK 68 1 WORK ARRAY
- E WRK1 36 1 DDS FUNCT. FIELD
- I* LDA WITH INPUT FILE AND SOURCE FILE INFORMATION
- I UDS
- I 1 10 LINFL
- I 11 20 LINLB
- I 21 26 LINDT
- I 27 32 LINTM
- I 33 33 LINTYP
- I 51 100 LINTXT
- I 101 110 LSRCFL
- I 111 120 LSRCLB
- I 121 130 LSRCMB
- I 201 2062LSRCSQ
- I 207 2120LSRCDT
- I* SOURCE SEQUENCE AND SOURCE DATE DS - WRITTEN TO DDS SRCFILE.
- I DS
- I 1 62SRCSEQ
- I 7 120SRCDAT
- I* DDS SPECIFICATION - TO WRITE ACTUAL SPEC RECORDS TO DDS SRCFILE.
- IDSPEC DS
- I 1 5 DBLNK1
- I 6 6 DSPECA
- I 7 16 DBLNK2
- I 17 17 DNMTYP
- I 18 18 DBLNK3
- I 19 28 DNAME
- I 29 29 DREF
- I 30 34 DLEN
- I 35 35 DDTYP
- I 36 37 DDEC
- I 38 44 DBLNK4
- I 45 80 DFUNC
- I 1 80 DSPEC1
- I 7 80 DSPEC2
- C*------------------------------------------------------------------*
- C* MAINLINE *
- C*------------------------------------------------------------------*
- C* INITIALIZATION AND SETUP.
- C*
- C Z-ADDLSRCSQ SRCSEQ RETRIEVE SRCSEQ
- C Z-ADDLSRCDT SRCDAT AND SRCDAT.
- C MOVE 'A' DSPECA INIT. SPEC. DS.
- C*
- C OPEN SRCFIL OPEN FILES.
- C OPEN QAFDACCP
- C READ QAFDACCP 10 GET RECORD.
- C APKEYF IFEQ *BLANK NO KEY FIELDS
- C MOVE '1' *IN10 ACCPTH IS
- C END ARRIVAL-EXIT.
- C*
- C*------------------------------------------------------------------*
- C* WRITE KEY LEVEL KEYWORDS.
- C*------------------------------------------------------------------*
- C* FOR EACH FIELD DO:
- C *IN10 DOWEQ'0'
- C*
- C* SETUP KEY FIELD NAME RECORD. INIT.
- C Z-ADD+0 WFLAG 40 WRITE FLAG
- C MOVE 'K' DNMTYP MOVE 'K'
- C MOVE APKEYF DNAME MOVE FIELD NAME
- C* WRITE SUPPORTED KEYWORDS.
- C APKSEQ IFEQ 'D' DESCEND DDS
- C MOVEL'DESCEND' DFUNC KEYWORD.
- C MOVE DSPEC1 LINE 80
- C EXSR @SRCLN
- C MOVE *BLANK DSPEC2
- C Z-ADD+1 WFLAG
- C END
- C APKSIN IFEQ 'A' ABSVAL/UNSIGNED
- C MOVEL'ABSVAL' DFUNC
- C ELSE
- C APKSIN IFEQ 'N'
- C MOVEL'UNSIGNED'DFUNC
- C END
- C END
- C APKSIN IFNE 'S'
- C MOVE DSPEC1 LINE
- C EXSR @SRCLN
- C MOVE *BLANK DSPEC2
- C Z-ADD+1 WFLAG
- C END
- C APKZD IFEQ 'Z' ZONE/DIGIT
- C MOVEL'ZONE' DFUNC
- C ELSE
- C APKZD IFEQ 'D'
- C MOVEL'DIGIT' DFUNC
- C END
- C END
- C APKZD IFNE 'N'
- C MOVE DSPEC1 LINE
- C EXSR @SRCLN
- C MOVE *BLANK DSPEC2
- C Z-ADD+1 WFLAG
- C END
- C WFLAG IFEQ +0 NO KEYWORDS
- C MOVE DSPEC1 LINE SPECIFIED, SO
- C EXSR @SRCLN WRITE THE
- C MOVE *BLANK DSPEC2 KEYFIELD
- C END RECORD.
- C*
- C READ QAFDACCP 10 GET RECORD.
- C END END READ LOOP.
- C*
- C* CLOSE FILES, PASS DATA, AND END PROGRAM.
- C*
- C CLOSEQAFDACCP
- C CLOSESRCFIL
- C*
- C Z-ADDSRCSEQ LSRCSQ PASS SRCSEQ
- C Z-ADDSRCDAT LSRCDT AND SRCDAT
- C SETON LR
- C*
- C*------------------------------------------------------------------*
- C* ADD TO SOURCE SEQUENCE NUMBER AND WRITE AN OUTPUT LINE
- C*------------------------------------------------------------------*
- C*
- C @SRCLN BEGSR
- C*
- C ADD +1 SRCSEQ
- C EXCPTSRCLIN
- C*
- C ENDSR
- C*------------------------------------------------------------------*
- C/SPACE 3
- OSRCFIL EADD SRCLIN
- O SRCSEQ 6
- O SRCDAT 12
- O LINE 92
-